package com.example.test.advice.第一章_java开发中常用的方法和准则.建议4_避免带有变长参数的方法重载;

import java.text.NumberFormat;

/**
 * 变长参数必须是方法中的最后一个参数
 * 一个方法中不能定义多个变长参数
 *
 */
public class Client {

    //简单折扣计算
    public void calPrice(int price,int disCount){
        float knockdownPrice = price*disCount/100.0F;
        System.out.println("简单折扣后的价格是："+formateCurrency(knockdownPrice));
    }

    //复杂多折扣计算
    public void calPrice(int price,int...disCounts){
        float knockdownPrice = price;
        for(int discount:disCounts){
            knockdownPrice = knockdownPrice*discount/10;
        }
        System.out.println("复杂折扣的价格是："+formateCurrency(knockdownPrice));
    }

    //格式化成本的货币形式
    public String formateCurrency(float price){

        return NumberFormat.getCurrencyInstance().format(price/100);
    }

    public static void main(String[] args) {
        Client client = new Client();
        //499元的货物，打75折
        client.calPrice(49900,75);//编辑器猜想时先猜想简单的基本类型猜想，即懒人原则
    }
}
